/**
 * Arquivo criado em 27/10/2006 �s 16:07:29
 */
package controle;

import componentes.*;

import interfaces.PainelFase;

/**
 * 
 * Classe AlvoThread.java que representa
 * 
 * @desc Projeto Jogo do Avião
 * @author Simone Carneiro Streitenberger 11888 CCO2003
 * @author Thiago Nascimento Comicio 11889 CCO2003
 * @professor Edison de Jesus
 * @disciplina Computação Gráfica 2 - CCO812
 * 
 */
public class AlvoThread extends Thread {
	private Alvo alvo;

	private PainelFase painel;

	private int destrua;

	private boolean pause;

	/**
	 * Construtor da classe AlvoThread.java
	 * 
	 * @param alvo
	 * @param painel
	 */
	public AlvoThread(Alvo alvo, PainelFase painel) {
		this.alvo = alvo;
		this.painel = painel;
		this.pause = false;
		this.destrua = 0;
	}

	public void run() {

		boolean descida = true; // true indica descida e false subida

		final int tamMovimento = 1;

		if (Math.round(Math.random()) == 0) {
			descida = false;
		} else {
			descida = true;
		}

		for (;;) {
			if (!pause) {
				if (descida) {
					if (alvo.getTamanho() > 0) {
						alvo.setTamanho(alvo.getTamanho() - tamMovimento);
					} else {
						alvo.setTamanho(alvo.getTamanho() + tamMovimento);
						descida = false;
					}
				} else {
					if (alvo.getTamanho() < alvo.getTamanhoInicial()) {
						alvo.setTamanho(alvo.getTamanho() + tamMovimento);
					} else {
						alvo.setTamanho(alvo.getTamanho() - tamMovimento);
						descida = true;
					}
				}

				painel.repaint();

				try {
					Thread.sleep(5);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if (destrua == 1) {
				break;
			}
		}
	}
	
	public void destrua() {
		this.destrua = 1;
	}
}
